A project can be loosely defined as an endeavor to achieve a specific goal, subject to some limiting constraints such as time and resources. Projects occur everywhere and may be of various scopes and importance. Some examples of projects include mapping the human genome, building the golden gate bridge, putting a satellite into orbit, and renovating a kitchen.
Managing a project can be a complicated affair, so much so that “Project Management” has become a small industry by itself. There are books, professional bodies, consultants, and scores of software tools to aid in the process of project management. Useful as all of these may be, delays in projects that can lead to project failure are still alarmingly prevalent.
Projects today are often plagued by varied problems that can lead to schedule overruns and, sometimes, outright project failure. Today, project managers are restricted by the limitations of scheduling functionality provided by various project management software solutions. A scheduler in such software often takes the project plan and any progress recorded as the input, and provides a forecasted finish date as the output. It does so typically by assuming that the remainder of the work will proceed at the planned pace. While useful, the forecasts made by such schedulers are frequently inaccurate. They do not take into account the ground realities of the project, even those for which the project manager is aware.